Operating system often performs memory dump after system crashes to dump data in memory to a storage device for facilitating later fault location. With the development of hardware technique, memory capacity has been greatly expanded, which may lead to a too long time for system dump. Meanwhile, with the development of modern processor technique, single-core processor has been evolved into multi-core multi-thread processor, which is capable of processing multiple threads in parallel simultaneously, that is, the processor has multiple logical CPUs, each of which is a processing unit. However, traditional dump is handled by a single logical CPU, which causes a great waste of the computing power of system.
Some systems in the prior art such as AIX (Advanced Interactive eXecutive), HP-UX (Hewlett Packard Unix), etc provide a function of parallel dump, in which memory is partitioned into blocks and one or more logical CPUs are responsible for the processing operations of various stages for a memory block (such as, pre-processing, filtering, compressing, writing disk) in order to accelerate processing speed. However, since logical CPUs processing respective memory blocks operate in parallel independently from each other, when multiple logical CPUs perform disk I/O transmission simultaneously, instantaneous peak flow of disk I/O transmission may occur, which results in decrease in dump performance. Furthermore, it is necessary for the driver of the storage device to be reentrant in order to assure the concurrent use of the storage device by the multiple logical CPUs.